package com.yunshan.mp.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.yunshan.common.annotation.Excel;
import com.yunshan.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 活动公告对象 mp_index_activity_notice
 * 
 * @author yunshan
 * @date 2025-01-20
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class MpIndexActivityNotice extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 活动标题 */
    @ApiModelProperty("活动标题")
    @Excel(name = "活动标题")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private String title;

    /** 活动副标题 */
    @ApiModelProperty("活动副标题")
    @Excel(name = "活动副标题")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private String subtitle;

    /** 活动类型 1预约类型 2非预约类型 */
    @ApiModelProperty("活动类型 1预约类型 2非预约类型")
    @Excel(name = "活动类型 1预约类型 2非预约类型")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private Integer activityType;

    /** 活动封面 */
    @ApiModelProperty("活动封面")
    @Excel(name = "活动封面")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private String coverImg;

    /** 活动海报 */
    @ApiModelProperty("活动海报")
    @Excel(name = "活动海报")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private String posterImg;

    /** 活动规则 */
    @ApiModelProperty("活动规则")
    @Excel(name = "活动规则")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private String rule;

    /** 公告上架时间 */
    @ApiModelProperty("公告上架时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "公告上架时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private Date onTime;

    /** 公告下架时间 */
    @ApiModelProperty("公告下架时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "公告下架时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private Date offTime;

    /** 状态0:上架 1下架 2待上架 */
    @ApiModelProperty("状态0:上架 1下架 2待上架")
    @Excel(name = "状态0:上架 1下架 2待上架")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private Integer status;

    /** 是否删除0:未删除,1:删除 */
    @ApiModelProperty("是否删除0:未删除,1:删除")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private Integer isDeleted;

    /** 开始时间 */
    @ApiModelProperty("开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private Date startTime;

    /** 结束时间 */
    @ApiModelProperty("结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private Date endTime;

    @ApiModelProperty("预约人数")
    @Excel(name = "预约人数")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private Integer reserveCount;
}
